'''
----无人新零售----
随着无人新零售经济的崛起，商场、车站、大厦等各种场所都引入了无人饮品自动售货机，方便人们选购自己想要的饮品。
购买者选择想要的饮品，通过投币或扫码的方式支付，支付成功后从出货口取出饮品。
本案例要求编写代码，利用函数实现具有显示饮品信息、计算销售总额等功能的程序。

# 饮品信息 可以字典存储
goods = {'可口可乐': 2.5, '百事可乐': 2.5, '冰红茶': 3, '脉动': 3.5}

# 饮品信息 可以列表嵌套字典存储
goods1 = {'id': '1001', 'name': '可口可乐', 'price': 2.5}
goods2 = {'id': '1002', 'name': '冰红茶', 'price': 3}
goods3 = {'id': '1003', 'name': '脉动', 'price': 3.5}
goods_list = [goods1, goods2, goods3]
'''


goods1 = {'id': '1001', 'name': '可口可乐', 'price': 2.5}
goods2 = {'id': '1002', 'name': '冰红茶', 'price': 3}
goods3 = {'id': '1003', 'name': '脉动', 'price': 3.5}
goods_list = [goods1, goods2, goods3]

class VendingMachine:
    def __init__(self,goods_list):
        self.goods_list = goods_list    # 初始化饮品信息
        self.total_sales = 0   # 总销售额
    def show_goods(self):   #显示饮品信息
        for goods in goods_list:
            print(f'商品ID为：{goods["id"]}, 商品名称为：{goods["name"]}, 商品价格为：{goods["price"]}')

    def buy_goods(self):    #  购买商品
        for goods in goods_list:
            goods_id = input('请输入您要购买的商品ID:')
            if goods['id'] == goods_id:
                print(f'您的商品{goods["name"]}选购成功，请付款')
                self.total_sales += goods['price']
                return
        print('商品ID无效，请重试...')
    def count_total_goods(self):    #计算总销售额
        input('请选择付款方式：1.投币 2.扫码\n')
        return self.total_sales

VendingMachine = VendingMachine(goods_list)     # 类实例化
VendingMachine.show_goods()     # 显示商品
VendingMachine.buy_goods()  # 购买商品
total_goods = VendingMachine.count_total_goods()    #   计算销售额
print(f'感谢您的购买，您的商品总价为：{total_goods}')
